<?php

/**
 * Developer
 *  @OA\Schema(
 *       schema="Developer",
 *       description="Developer-开发者",
 *       @OA\Property(
 *            property="id",
 *            type="number"
 *       ),
 *      @OA\Property(
 *            property="username",
 *            type="string",
 *            description="用户名"
 *       ),
 *       @OA\Property(
 *            property="password",
 *            type="string",
 *            description="密码"
 *      ),
 *      @OA\Property(
 *            property="mobile",
 *            type="string",
 *            description="手机号"
 *       ),
 *     @OA\Property(
 *            property="id_card",
 *            type="string",
 *            description="身份证",
 *       ),
 *     @OA\Property(
 *            property="alipay_account",
 *            type="string",
 *            description="支付宝账户",
 *       ),
 *     @OA\Property(
 *            property="status",
 *            type="number",
 *            description="1 待认证 2 已认证",
 *       ),
 *     @OA\Property(
 *            property="created_at",
 *            type="string",
 *            description="创建时间"
 *       ),
 *     @OA\Property(
 *            property="updated_at",
 *            type="string",
 *            description="更新时间",
 *     ),
 *     @OA\Property(
 *            property="deleted_at",
 *            type="string",
 *            description="删除状态，null 未删除 timestamp 已删除",
 *     ),
 * )
 *
 * @OA\Get(path="/developer",
 *   tags={"developer"},
 *   summary="开发者列表",
 *   operationId="getDevelopers",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Parameter(ref="#/components/parameters/pageSize"),
 *   @OA\Parameter(ref="#/components/parameters/current"),
 *   @OA\Parameter(ref="#/components/parameters/keyword"),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/QueryResponse")
 *   )
 * )
 *
 * @OA\Get(path="/developer/{id}",
 *   tags={"developer"},
 *   summary="读取开发者",
 *   operationId="readDeveloper",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Parameter(ref="#/components/parameters/id"),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 * @OA\Post(path="/developer",
 *   tags={"developer"},
 *   summary="创建开发者",
 *   operationId="createDeveloper",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\RequestBody(
 *     @OA\MediaType(
 *       mediaType="application/json",
 *         @OA\Schema(ref="#/components/schemas/Developer")
 *       )
 *     ),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 * @OA\Post(path="/developer/authenticate",
 *   tags={"developer"},
 *   summary="开发者认证",
 *   operationId="developerAuthenticate",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\RequestBody(
 *     @OA\MediaType(
 *       mediaType="application/json",
 *         @OA\Schema(ref="#/components/schemas/Developer")
 *       )
 *     ),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 *
 * @OA\Put(path="/developer/{id}",
 *   tags={"developer"},
 *   summary="更新开发者",
 *   operationId="updateDeveloper",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Parameter(ref="#/components/parameters/id"),
 *   @OA\RequestBody(
 *     @OA\MediaType(
 *       mediaType="application/json",
 *         @OA\Schema(ref="#/components/schemas/Developer")
 *       )
 *     ),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 *
 * @OA\Delete (path="/developer/{id}",
 *   tags={"developer"},
 *   summary="删除开发者",
 *   operationId="deleteDeveloper",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Parameter(ref="#/components/parameters/id"),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 */